package com.ruoyi.project.task.mission.service;

import com.ruoyi.project.person.info.domain.PersonInfo;
import com.ruoyi.project.task.mission.domain.TaskMission;
import com.ruoyi.project.task.mission.domain.TaskMissionVo;
import com.ruoyi.project.task.postpone.domain.TaskPostpone;

import java.util.List;

/**
 * @author Pathosis
 * @date 2020-09-17 11:08
 * @description: 任务创建的service接口类
 */
public interface ITaskMissionService {
    /**
     * 查询所有的TaskMissionVo + 分页 + 条件查询
     * @param taskMissionVo
     * @return
     */
    List<TaskMissionVo> selectTaskMissionList(TaskMissionVo taskMissionVo);

    /**
     * 校验任务标题名称
     */
    String checkMissionTitleUnique(TaskMission tmv);

    /**
     * 校验任务执行人
     */
    String checkInfoNameUnique(TaskMissionVo tmv);

    /**
     * 新增任务
     * @param taskMission
     * @return
     */
    int insertTaskMissionVo(TaskMission taskMission , String endTime);

    /**
     * 查询所有的
     * @return
     */
    List<PersonInfo> selectAllPerson();

    /**
     * 根据id删除
     * @param ids
     * @return
     */
    int deleteTaskMissionByIds(String ids);

    /**
     * 根据id查询，用于回显数据
     * @param missionId
     * @return
     */
    TaskMission selectTaskMissionById(Long missionId);

    /**
     * 修改TaskMission
     * @param taskMission
     * @return
     */
    int updateTaskMission(TaskMission taskMission);

    /**
     * 查询单个ValueObject
     * @param missionId
     * @return
     */
    TaskMissionVo selectTaskMissionVoById(Long missionId);
}
